package cn.tedu.csmall.product.mapper;

import cn.tedu.csmall.product.pojo.VO.SpuListVO;
import cn.tedu.csmall.product.pojo.VO.SpuStandardVO;
import cn.tedu.csmall.product.pojo.entity.Spu;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface SpuMapper {
    /**
     * 插入spu数据
     * @param spu spu数据
     * @return 受影响行数
     */
    int insert(Spu spu);

    /**
     * 批量插入spu数据
     * @param spus spu数据
     * @return 受影响行数
     */
    int insertBatch(List<Spu> spus);
    int deleteById(Long id);
    int deleteByIds(Long[] ids);
    int update(Spu spu);
    int count();
    int countByAlbum(@Param("albumId")Long albumId);
    int countByBrand(@Param("brandId")Long brandId);
    int countByCategory(@Param("categoryId")Long categoryId);
    int countByAttributeTemplate(@Param("attributeTemplateId")Long attributeTemplateId);
    SpuStandardVO getStandardById(Long id);
    List<SpuListVO> list();
}
